﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	int a[] = { 1,2,3,4 };
//	printf("%d\n", sizeof(a));//16
//	printf("%d\n", sizeof(a + 0));//地址4\8
//	printf("%d\n", sizeof(*a));4
//	printf("%d\n", sizeof(a + 1));//4或8
//	printf("%d\n", sizeof(a[1]));//4
//	printf("%d\n", sizeof(&a));//4或8
//	printf("%d\n", sizeof(*&a));//16
//	printf("%d\n", sizeof(&a + 1));//4或8
//	printf("%d\n", sizeof(&a[0]));//4或8
//	printf("%d\n", sizeof(&a[0] + 1));//4/8
//	return 0;
//}
//int main()
//{
//	char arr[] = { 'a','b','c','d','e','f' };
//	printf("%d\n", sizeof(arr));//6
//	printf("%d\n", sizeof(arr + 0));//8
//	printf("%d\n", sizeof(*arr));//1
//	printf("%d\n", sizeof(arr[1]));//1
//	printf("%d\n", sizeof(&arr));//8
//	printf("%d\n", sizeof(&arr + 1));//8
//	printf("%d\n", sizeof(&arr[0] + 1));//8
//	return 0;
//}
//int main()
//{
//	char arr[] = { 'a','b','c','d','e','f' };//6
//	printf("%d\n", strlen(arr));//err
//	printf("%d\n", strlen(arr + 0));//err
//	printf("%d\n", strlen(*arr));//97
//	printf("%d\n", strlen(arr[1]));//97
//	printf("%d\n", strlen(&arr));//err
//	printf("%d\n", strlen(&arr + 1));//err
//	printf("%d\n", strlen(&arr + 1));//err
//	return 0;
//}
//int main()
//{
//	char arr[] = "abcdef";//6
//	printf("%d\n", sizeof(arr));//6+1(还有\0)
//	printf("%d\n", sizeof(arr + 0));//8
//	printf("%d\n", sizeof(*arr));//1
//	printf("%d\n", sizeof(arr[1]));//1
//	printf("%d\n", sizeof(&arr));//8
//	printf("%d\n", sizeof(&arr + 1));//8
//	printf("%d\n", sizeof(&arr[0] + 1));//8
//	return 0;
//}
//int main()
//{
//	char arr[] = "abcdef";//6
//	printf("%d\n", strlen(arr));//6
//	printf("%d\n", strlen(arr + 0));//6
//	//printf("%d\n", strlen(*arr));//err
//	//printf("%d\n", strlen(arr[1]));//err
//	printf("%d\n", strlen(&arr));//err
//	printf("%d\n", strlen(&arr + 1));//err
//	printf("%d\n", strlen(&arr[0] + 1));//5
//	return 0;
//}
//int main()
//{
//	char* p = "bcdef";
//	printf("%d\n", sizeof(p));//8
//	printf("%d\n", sizeof(p + 1));//8
//	printf("%d\n", sizeof(*p));//1
//	printf("%d\n", sizeof(p[0]));//1
//	printf("%d\n", sizeof(&p));//8
//	printf("%d\n", sizeof(&p + 1));//8
//	printf("%d\n", sizeof(&p[0] + 1));//8
//	return 0;
//}
//int main()
//{
//	int a[3][4] = { 0 };
//	printf("%d\n", sizeof(a));//48
//	printf("%d\n", sizeof(a[0][0]));//4
//	printf("%d\n", sizeof(a[0]));//16
//	printf("%d\n", sizeof(a[0] + 1));//8
//	printf("%d\n", sizeof(*(a[0] + 1)));//4
//	printf("%d\n", sizeof(a + 1));//8
//	printf("%d\n", sizeof(*(a + 1)));//16
//	printf("%d\n", sizeof(&a[0] + 1));//8
//	printf("%d\n", sizeof(*(&a[0] + 1)));//16
//	printf("%d\n", sizeof(*a));//16
//	printf("%d\n", sizeof(a[3]));//16
//	return 0;
//}
#include<stdio.h>
//int main()
//{
//	int a = 0;
//	&a;
//	printf("%p", &a);
//	return 0;
//}
#include <stdio.h>
//int main()
//{
//	int n = 10;
//	char* pc = (char*)&n;
//	int* pi = &n;
//	printf("%p\n", &n);
//	printf("%p\n", pc);
//	printf("%p\n", pc + 1);
//	printf("%p\n", pi);
//	printf("%p\n", pi + 1);
//	return 0;
//}
//int main()
//{
//	const int n = 0;
//	printf("%d", n);
//	n = 10;
////	printf("%d", n);
////	return 0;
////}
//int main()
//{
//	//const int n = 0;
//	//printf("n = %d\n", n);
//	//const int* p = &n;//int const*p=&n
//	///**p = 20;
//	//printf("n = %d\n", n);*/
//	//int* m = &n;
//	//*m = 10;
//	//printf("n=%d", n);
//	int n = 0;
//	printf("n = %d\n", n);
//	int* const p = &n;
//	int * m=&n
//	*m = 10;
//	printf("n = %d\n", n);
//	return 0;
//}
//int main()
//{
//	printf("%zd\n", sizeof(char*));
//	printf("%zd\n", sizeof(short*));
//	printf("%zd\n", sizeof(int*));
//	printf("%zd\n", sizeof(double*));
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int* p;//局部变量指针未初始化，默认为随机值
//	*p = 20;
//	return 0;
//}
//int* test()
//{
//	int n = 10;//临时变量的作用域仅在函数内部
//	return &n;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 0 };
//	printf("%d\n", sizeof(arr));
//	printf("%p\n",&arr);
//	printf("%p\n", &arr+1);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 0 };
//	//输⼊
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	//输⼊
//	int* p = arr;
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", p + i);
//		//scanf("%d", arr+i);//也可以这样写
//	}
//	//输出
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", *(p+i));
//	}
//	return 0;
//}
//void test(int arr[])
//{
//	int sz2 = sizeof(arr) / sizeof(arr[0]);
//	printf("sz2 = %d\n", sz2);
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz1 = sizeof(arr) / sizeof(arr[0]);
//	printf("sz1 = %d\n", sz1);
//	test(arr);
//	return 0;
//}
int main()
{
	const char* pstr = "hello bit.";//这⾥是把⼀个字符串放到pstr指针变量⾥了吗？
	printf("%s\n", pstr);
	return 0;